home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glevalmesh.z / glevalmesh
Encoding:
Text File  |  2002-10-03  |  10.5 KB  |  222 lines

  1.  
  2.  
  3.  
  4. ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))                 OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee                 ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh1111,,,, ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222 - compute a one- or two-dimensional grid of
  10.      points or lines
  11.  
  12.  
  13. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  14.      void ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh1111( GLenum _m_o_d_e,
  15.                        GLint _i_1,
  16.                        GLint _i_2 )
  17.  
  18.  
  19. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  20.      _m_o_d_e  In ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh1111, specifies whether to compute a one-dimensional mesh
  21.            of points or lines.  Symbolic constants GGGGLLLL____PPPPOOOOIIIINNNNTTTT and GGGGLLLL____LLLLIIIINNNNEEEE are
  22.            accepted.
  23.  
  24.      _i_1, _i_2
  25.            Specify the first and last integer values for grid domain variable
  26.            i.
  27.  
  28. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  29.      void ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222( GLenum _m_o_d_e,
  30.                        GLint _i_1,
  31.                        GLint _i_2,
  32.                        GLint _j_1,
  33.                        GLint _j_2 )
  34.  
  35.  
  36. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  37.      _m_o_d_e In ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222, specifies whether to compute a two-dimensional mesh
  38.           of points, lines, or polygons.  Symbolic constants GGGGLLLL____PPPPOOOOIIIINNNNTTTT,
  39.           GGGGLLLL____LLLLIIIINNNNEEEE, and GGGGLLLL____FFFFIIIILLLLLLLL are accepted.
  40.  
  41.      _i_1, _i_2
  42.           Specify the first and last integer values for grid domain variable
  43.           i.
  44.  
  45.      _j_1, _j_2
  46.           Specify the first and last integer values for grid domain variable
  47.           j.
  48.  
  49. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  50.      ggggllllMMMMaaaappppGGGGrrrriiiidddd and ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh are used in tandem to efficiently generate and
  51.      evaluate a series of evenly-spaced map domain values.  ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh steps
  52.      through the integer domain of a one- or two-dimensional grid, whose range
  53.      is the domain of the evaluation maps specified by ggggllllMMMMaaaapppp1111 and ggggllllMMMMaaaapppp2222.
  54.      _m_o_d_e determines whether the resulting vertices are connected as points,
  55.      lines, or filled polygons.
  56.  
  57.      In the one-dimensional case, ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh1111, the mesh is generated as if the
  58.      following code fragment were executed:
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))                 OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee                 ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))
  71.  
  72.  
  73.  
  74.  
  75.           glBegin( _t_y_p_e );
  76.           _f_o_r ( _i = _i_1; _i <= _i_2; _i += _1 )
  77.                             .
  78.              _g_l_E_v_a_l_C_o_o_r_d_1( _i Wu + u  );
  79.                                      1
  80.           _g_l_E_n_d();
  81.  
  82.      where
  83.  
  84.           Wu = (u  - u )/n
  85.                    2    1
  86.  
  87.  
  88.      and n, u , and u  are the arguments to the most recent ggggllllMMMMaaaappppGGGGrrrriiiidddd1111
  89.              1       2
  90.      command.  _t_y_p_e is GGGGLLLL____PPPPOOOOIIIINNNNTTTTSSSS if _m_o_d_e is GGGGLLLL____PPPPOOOOIIIINNNNTTTT, or GGGGLLLL____LLLLIIIINNNNEEEESSSS if _m_o_d_e is
  91.      GGGGLLLL____LLLLIIIINNNNEEEE.
  92.  
  93.      The one absolute numeric requirement is that if i = n, then the value
  94.                     .
  95.      computed from i Wu + u  is exactly u .
  96.                              1             2
  97.  
  98.      In the two-dimensional case, ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222, let
  99.  
  100.           Wu = (u  - u )/n
  101.                    2    1
  102.  
  103.           Wv = (v  - v )/m,
  104.                    2    1
  105.  
  106.      where n, u , u , m, v , and v  are the arguments to the most recent
  107.                1   2      1       2
  108.      ggggllllMMMMaaaappppGGGGrrrriiiidddd2222 command.  Then, if _m_o_d_e is GGGGLLLL____FFFFIIIILLLLLLLL, the ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222 command is
  109.      equivalent to:
  110.  
  111.  
  112.           for ( j = _j_1; j < _j_2; j += 1 ) {
  113.              glBegin( GL_QUAD_STRIP );
  114.              for ( i = _i_1; i <= _i_2; i += 1 ) {
  115.                                .            .
  116.                 glEvalCoord2( i Wu + u , j Wv + v  );
  117.                                         1            1
  118.                                .                .
  119.                 glEvalCoord2( i Wu + u , (j+1) Wv + v  );
  120.                                         1                1
  121.              }
  122.              glEnd();
  123.           }
  124.  
  125.  
  126.      If _m_o_d_e is GGGGLLLL____LLLLIIIINNNNEEEE, then a call to ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222 is equivalent to:
  127.  
  128.  
  129.           for ( j = _j_1; j <= _j_2; j += 1 ) {
  130.              glBegin( GL_LINE_STRIP );
  131.              for ( i = _i_1; i <= _i_2; i += 1 )
  132.                                .            .
  133.                 glEvalCoord2( i Wu + u , j Wv + v  );
  134.                                         1            1
  135.              glEnd();
  136.           }
  137.  
  138.           for ( i = _i_1;  i <= _i_2; i += 1 ) {
  139.              glBegin( GL_LINE_STRIP );
  140.              for ( j = _j_1; j <= _j_1; j += 1 )
  141.  
  142.  
  143.  
  144.                                                                         PPPPaaaaggggeeee 2222
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))                 OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee                 ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh((((3333GGGG))))
  152.  
  153.  
  154.  
  155.                                .            .
  156.                 glEvalCoord2( i Wu + u , j Wv + v  );
  157.                                         1            1
  158.              glEnd();
  159.           }
  160.  
  161.  
  162.      And finally, if _m_o_d_e is GGGGLLLL____PPPPOOOOIIIINNNNTTTT, then a call to ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh2222 is
  163.      equivalent to:
  164.  
  165.  
  166.           glBegin( GL_POINTS );
  167.           for ( j = _j_1; j <= _j_2; j += 1 )
  168.              for ( i = _i_1; i <= _i_2; i += 1 )
  169.                                .            .
  170.                 glEvalCoord2( i Wu + u , j Wv + v  );
  171.                                         1            1
  172.           glEnd();
  173.  
  174.  
  175.      In all three cases, the only absolute numeric requirements are that if
  176.                                           .
  177.      i = n, then the value computed from i Wu + u  is exactly u , and if
  178.                                                    1             2
  179.                                           .
  180.      j = m, then the value computed from j Wv + v  is exactly v .
  181.                                                    1             2
  182.  
  183. EEEERRRRRRRROOOORRRRSSSS
  184.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _m_o_d_e is not an accepted value.
  185.  
  186.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllEEEEvvvvaaaallllMMMMeeeesssshhhh is executed between the
  187.      execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
  188.  
  189. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  190.      ggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAPPPP1111____GGGGRRRRIIIIDDDD____DDDDOOOOMMMMAAAAIIIINNNN
  191.      ggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAPPPP2222____GGGGRRRRIIIIDDDD____DDDDOOOOMMMMAAAAIIIINNNN
  192.      ggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAPPPP1111____GGGGRRRRIIIIDDDD____SSSSEEEEGGGGMMMMEEEENNNNTTTTSSSS
  193.      ggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAPPPP2222____GGGGRRRRIIIIDDDD____SSSSEEEEGGGGMMMMEEEENNNNTTTTSSSS
  194.  
  195.  
  196. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  197.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems do not handle 1D maps for
  198.      colors correctly.
  199.  
  200.  
  201. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  202.      ggggllllBBBBeeeeggggiiiinnnn, ggggllllEEEEvvvvaaaallllCCCCoooooooorrrrdddd, ggggllllEEEEvvvvaaaallllPPPPooooiiiinnnntttt, ggggllllMMMMaaaapppp1111, ggggllllMMMMaaaapppp2222, ggggllllMMMMaaaappppGGGGrrrriiiidddd
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.                                                                         PPPPaaaaggggeeee 3333
  219.  
  220.  
  221.  
  222.